// backendPkg/pages/userManage/userManage.js
//var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //存储用户记录
    adminArray: [],
    generalAdminArray: [],
    superAdminArray: [],
    username: '',
    userwxid:'',
  },
//   promoteUser: function(e) {
//     //console.log(this.data.generalAdminArray);
//     var index = e.currentTarget.dataset.param;
//     console.log(index);
//     console.log(e);
//     var user = this.data.adminArray[index];
//     console.log(user);
//     console.log(index);
//     if (user.identity === '超级管理员') {
//         wx.showToast({
//             title: '该用户已经是超级管理员，无法升级',
//             icon: 'none',
//             duration: 2000
//         });
//     } else {
//         // 升级用户身份的代码t
//         user.identity = '超级管理员';
//         this.setData({
//             [`adminArray[${index}]`]: user
//         });

//         // 从普通管理员数组中移除被升级的管理员
//         const generalAdminIndex = this.data.generalAdminArray.findIndex(admin => admin.username === user.username);
//         if (generalAdminIndex !== -1) {
//             this.data.generalAdminArray.splice(generalAdminIndex, 1);
//             this.setData({
//                 generalAdminArray: this.data.generalAdminArray
//             });
//         }

//         // 将被升级的管理员加入到超级管理员数组中（如果他还不在那里）
//         const superAdminIndex = this.data.superAdminArray.findIndex(admin => admin.username === user.username);
//         if (superAdminIndex === -1) {
//             this.data.superAdminArray.push(user);
//             this.setData({
//                 superAdminArray: this.data.superAdminArray
//             });
//         }
//     }
// },


  // 用于升级管理员身份
 promoteUser(e) {
  let wxid2 = this.data.userwxid;
  let admin2 = this.data.adminArray.find(admin2 => admin2.wxid === wxid2);
  if(admin2.identity === '超级管理员'){
    let wxid = e.currentTarget.dataset.param;
  let admin = this.data.adminArray.find(admin => admin.wxid === wxid);
  if (admin.identity === '超级管理员') {
    wx.showToast({
      title: '该用户已经是超级管理员，无法升级',
      icon: 'none',
      duration: 2000
    });
  } else {
    admin.identity = '超级管理员';
    this.data.superAdminArray.push(admin);
    this.data.generalAdminArray =  this.data.generalAdminArray.filter(admin => admin.wxid !== wxid);
    const newIndentity = {
      wxid: wxid, // 要更新的对象的 wxid
      ...admin, // 对象的其他属性
      identity: '2' // 新的身份
    };
    const url = 'http://8.219.238.141/user/updateUserIdentity'; 

    // 发送 POST 请求到后端来更新数据库
    wx.request({
      url: `${url}?wxid=${wxid}`, // 在 URL 中添加 id 
      method: 'POST',
      data: JSON.stringify(newIndentity), // 将数据转换为 JSON 字符串
      header: {
    'Content-Type': 'application/json' // 设置请求头
  },
      success(res) {
        wx.showToast({
          title: '升级成功',
          icon: 'success',
          duration: 2000
        });
      },
      fail() {
        console.log('更新数据库失败');
      }
    });
  }
// 重新渲染用户界面
this.setData({
  adminArray:  this.data.adminArray,
  superAdminArray:  this.data.superAdminArray,
  generalAdminArray:  this.data.generalAdminArray
});
  }else{
    wx.showToast({
      title: '您的权限无法删除',
      icon:'error'
    })
  }
  

},

// 用于删除管理员

  deleteUser(e) {
    let wxid2 = this.data.userwxid;
    let admin2 = this.data.adminArray.find(admin2 => admin2.wxid === wxid2);
  let wxid = e.currentTarget.dataset.param;
  console.log(wxid);
  let admin = this.data.adminArray.find(admin => admin.wxid === wxid);
  if(admin2.identity == '超级管理员' && admin.identity == '普通管理员'){
    
    const url = 'http://8.219.238.141/user/deleteUser';
    wx.request({
      url: `${url}?wxid=${wxid}`, 
      method: 'DELETE',
      success: (res) => {
        console.log(res);
        if (res.data.msg === 'success') {
          wx.showToast({
            title: '删除成功',
            icon: 'success'
          });
            // 重新渲染用户界面
          this.data.adminArray.splice(wxid, 1);
          this.setData({
            adminArray:  this.data.adminArray,
            superAdminArray:  this.data.superAdminArray,
            generalAdminArray:  this.data.generalAdminArray
          });
        } else {
          wx.showToast({
            title: '删除失败',
            icon: 'none'
          });
        }
      }
    });
 
  }
  else{
    wx.showToast({
      title: '没有删除权限',
      icon:'error'
    });
  }
  
  
},

getSuperAdminArray() {
  wx.request({
    url: 'http://8.219.238.141/user/getUserByIdentity?identity=2',
    method: 'POST',
    success: (res) => {
      console.log(res)
      this.setData({
        superAdminArray: res.data.data
      })
    }
  })
},

getGenAdminArray() {
  wx.request({
    url: 'http://8.219.238.141/user/getUserByIdentity?identity=1',
    method: 'POST',
    success: (res) => {
      console.log(res)
      this.setData({
        generalAdminArray: res.data.data
      })
    }
  })
},

getAdminArray() {
  wx.request({
    url: 'http://8.219.238.141/user/getUserByIdentity?identity=1',
    method: 'POST',
    success: (res) => {
      console.log(res)
      this.setData({
        adminArray: res.data.data
      })
    }
  })
  wx.request({
    url: 'http://8.219.238.141/user/getUserByIdentity?identity=2',
    method: 'POST',
    success: (res) => {
      console.log(res)
      this.setData({
        adminArray: [...this.data.adminArray,...res.data.data]
      })
    }
  })
  console.log(this.data.adminArray)
},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   this.getGenAdminArray();
   this.getSuperAdminArray();
   this.getAdminArray();
   var app = getApp();
    this.setData({
      username: app.globalData.userName,
      userwxid: app.globalData.userWxid,
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  this.getGenAdminArray();
   this.getSuperAdminArray();
   this.getAdminArray();
   wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})